#include <bits/stdc++.h>
using namespace std;
char a[4096][4096];
void dfs(int k, int x, int y) { // 第k层
  if (k == 1) {                 // 最初的基本三角形
    a[y][x] = '/';
    a[y][x + 1] = '\\';
    a[y + 1][x - 1] = '/';
    a[y + 1][x] = '_';
    a[y + 1][x + 1] = '_';
    a[y + 1][x + 2] = '\\';
  } else {
    dfs(k - 1, x, y); // 递归上边的三角形
    dfs(k - 1, x - pow(2, k - 1), y + pow(2, k - 1)); // 递归左下的三角形
    dfs(k - 1, x + pow(2, k - 1), y + pow(2, k - 1)); // 递归右下的三角形
  }
}
int main() {
  int n;
  cin >> n;
  dfs(n, pow(2, n), 1);
  int h = pow(2, n);             // 计算高
  int w = pow(2, n + 1);         // 计算宽
  for (int i = 1; i <= h; i++) { // 循环打印
    for (int j = 1; j <= w; j++) {
      if (a[i][j] == 0) {
        cout << ' ';
      } else {
        cout << a[i][j];
      }
    }
    cout << endl;
  }
  return 0;
}